package com.wkbb.sports.service;

import com.github.pagehelper.PageInfo;
import com.wkbb.common.base.BaseService;
import com.wkbb.common.dto.ResultDTO;
import com.wkbb.sports.model.HlifeWork;
import com.wkbb.sports.model.HlifeWorkStudent;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;


/**
 * @author lbh
 * @date 2021年03月29日 17:58:34
 * @description:
 */
public interface PcWorkService extends BaseService<HlifeWork> {

    //获取PC端默认首页数据【1、统计】
    public ResultDTO getPcIndex(String teacherId,String orgId,String classId);

    //获取PC端默认首页数据【2、本年级平均成绩结构对比】
    public ResultDTO getPcIndex2(String gradeName,String orgId,String time);

    //获取PC端默认首页数据【3、我的作业布置统计】
    public ResultDTO getPcIndex3(String teacherId,String orgId,String time, Integer classId);

    //获取PC端默认首页数据【4、学生作业提交率】
    public ResultDTO getPcIndex4(String teacherId,String orgId,String time, Integer classId);

    /**
     * 作业列表
     * @param teacherId
     * @param classId
     * @return
     */
    public ResultDTO getWorkListByTeacherIdForPc(Integer teacherId, Integer status, Integer type, Integer classId, Integer orgId, int pageNo, int pageSize, String flag,HttpServletResponse response);

    /**
     * 作业下拉选择列表
     * @param teacherId
     * @return
     */
    public ResultDTO<List<Map<String,Object>>> getWorksByTeacherIdForPc(Integer teacherId, Integer orgId,Integer classId,String time);

    /**
     * 首页作业列表
     * @param workId
     * @return
     */
    public ResultDTO<PageInfo<HlifeWorkStudent>> getIndexWorksByTeacherIdForPc(Integer workId,String time, int pageNo, int pageSize);

    /**
     * 作业详情及统计
     * @param workId
     * @return
     */
    public ResultDTO<Map<String,Object>>  getWorkDetailForPc(Long workId);

    /**
     * 作业学生详情
     * @param workId
     * @return
     */
    public ResultDTO  getWorkDetailStudentForPc(String workId, String studentNo, String studentName, String reached, Integer status, Integer sex, int pageNo, int pageSize,String flag,HttpServletResponse response);

    /**
     * 个人作业记录【时长模式】
     * @param workId
     * @param studentId
     * @return
     */
    public ResultDTO<Map<String,Object>> getStudentPersonalInfoDetailForPc(String workId,String studentId,String studentHistoryId,String orgId,String teacherName,String achivement, int pageNo, int pageSize,String flag,HttpServletResponse response);

}
